home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / os2 / adaptor.zip / ADAPT.ZIP / adaptor / examples / purdue / prob03.fcm < prev    next >
Text File  |  1993-06-26  |  2KB  |  91 lines

  1.       PROGRAM PROB03
  2. C
  3. C     PROBLEM 3
  4. C
  5. C  REFERENCE:  PROBLEMS TO TEST PARALLEL AND VECTOR LANGUAGES
  6. C              CSD-TR 516, COMPUTER SCIENCE, PURDUE UNIVERSITY
  7. C              JOHN R. RICE, MAY 1, 1985
  8. C
  9. C              REVISED BY JOHN R. RICE AND J. JING, OCT. 1, 1990
  10. C
  11. C
  12. C      *************************************************
  13. C      *      Adapted for FORTRAN D benchmarking       *
  14. C      *    by  T. HAUPT  (haupt@sccs.npac.syr.edu)    *
  15. C      *                                               *
  16. C      *    Northeast Parallel Architectures Center    *
  17. C      *   at Syracuse University, Syracuse, NY, USA   *
  18. C      *************************************************
  19. C
  20. C
  21. C       VERSION SIMD/CM2-1.00
  22. C       ==================================================
  23. C
  24.       INCLUDE '/usr/include/cm/paris-configuration-fort.h'
  25.       INTEGER KASES,NK,MK
  26.       PARAMETER (KASES=3)
  27.       INTEGER N(KASES),M(KASES)
  28. cmf$  layout N (:serial)
  29. cmf$  layout M (:serial)
  30.       DATA N / 64,512,1024 /
  31.       DATA M /128,128,1024 /
  32.  
  33.       REAL S
  34.  
  35.  
  36.       DO 50 K = 1, KASES
  37.  
  38.       CALL CM_TIMER_CLEAR(0)
  39.       CALL CM_TIMER_START(0)
  40.  
  41.       DO MANY=1,50
  42.  
  43.       NK=N(K)
  44.       MK=M(K)
  45.          CALL DOIT(NK,MK,S)
  46.  
  47.  
  48.       ENDDO
  49.  
  50.       CALL CM_TIMER_STOP(0)
  51.  
  52.       PRINT 60, N(K),M(K)
  53.   60  FORMAT ('PROBLEM 3 WITH N,M =',I6,2X,I6)
  54.       PRINT *,'GIVES S =',S
  55.  
  56.       CALL CM_TIMER_PRINT(0)
  57.  
  58.    50 CONTINUE
  59.       STOP
  60.       END
  61.  
  62.       SUBROUTINE DOIT(NK,MK,S)
  63.       INTEGER NK,MK
  64.       REAL S
  65.  
  66. c     REAL, ARRAY(NK,MK) :: A
  67.       REAL, ARRAY(MK,NK) :: A
  68.       REAL, ARRAY (NK) :: H
  69.  
  70. C
  71. C      intitialization
  72. C
  73.       A=1.0001
  74.  
  75. C
  76. C     computation
  77. C
  78.  
  79. c     S=SUM(PRODUCT(A,DIM=2))
  80. !HPF$ independent, local_access
  81.       do i = 1, nk 
  82.         H(i) = 1.0
  83.         do j = 1, mk
  84.           H(i) = H(i) * A(j,i)
  85.         end do
  86.       end do
  87.       S = SUM (H)
  88.  
  89.       END
  90.  
  91.